home *** CD-ROM | disk | FTP | other *** search
/ NOVA - For the NeXT Workstation / NOVA - For the NeXT Workstation.iso / SourceCode / AdobeExamples / NX_ImportAdv / epsfwraps.c < prev    next >
C/C++ Source or Header  |  1992-12-19  |  12KB  |  345 lines

  1. /* epsfwraps.c generated from epsfwraps.psw
  2.    by unix pswrap V1.009  Wed Apr 19 17:50:24 PDT 1989
  3.  */
  4.  
  5. #include <dpsclient/dpsfriends.h>
  6. #include <string.h>
  7.  
  8. #line 1 "epsfwraps.psw"
  9.  
  10. /*
  11.  * (a)  (C) 1990 by Adobe Systems Incorporated. All rights reserved.
  12.  *
  13.  * (b)  If this Sample Code is distributed as part of the Display PostScript
  14.  *    System Software Development Kit from Adobe Systems Incorporated,
  15.  *    then this copy is designated as Development Software and its use is
  16.  *    subject to the terms of the License Agreement attached to such Kit.
  17.  *
  18.  * (c)  If this Sample Code is distributed independently, then the following
  19.  *    terms apply:
  20.  *
  21.  * (d)  This file may be freely copied and redistributed as long as:
  22.  *    1) Parts (a), (d), (e) and (f) continue to be included in the file,
  23.  *    2) If the file has been modified in any way, a notice of such
  24.  *      modification is conspicuously indicated.
  25.  *
  26.  * (e)  PostScript, Display PostScript, and Adobe are registered trademarks of
  27.  *    Adobe Systems Incorporated.
  28.  * 
  29.  * (f) THE INFORMATION BELOW IS FURNISHED AS IS, IS SUBJECT TO
  30.  *    CHANGE WITHOUT NOTICE, AND SHOULD NOT BE CONSTRUED
  31.  *    AS A COMMITMENT BY ADOBE SYSTEMS INCORPORATED.
  32.  *    ADOBE SYSTEMS INCORPORATED ASSUMES NO RESPONSIBILITY
  33.  *    OR LIABILITY FOR ANY ERRORS OR INACCURACIES, MAKES NO
  34.  *    WARRANTY OF ANY KIND (EXPRESS, IMPLIED OR STATUTORY)
  35.  *    WITH RESPECT TO THIS INFORMATION, AND EXPRESSLY
  36.  *    DISCLAIMS ANY AND ALL WARRANTIES OF MERCHANTABILITY, 
  37.  *    FITNESS FOR PARTICULAR PURPOSES AND NONINFRINGEMENT
  38.  *    OF THIRD PARTY RIGHTS.
  39.  */
  40.  
  41. /*
  42.  *    epsfwraps.psw
  43.  *
  44.  *    Version:    2.0
  45.  *    Author:    Ken Fromm
  46.  *    History:
  47.  *            03-07-91        Added this comment.
  48.  */
  49.  
  50. /*  Sets the state for inclusion. */
  51. #line 52 "epsfwraps.c"
  52. void PSWBeginEpsf( void )
  53. {
  54.   typedef struct {
  55.     unsigned char tokenType;
  56.     unsigned char topLevelCount;
  57.     unsigned short nBytes;
  58.  
  59.     DPSBinObjGeneric obj0;
  60.     DPSBinObjGeneric obj1;
  61.     DPSBinObjGeneric obj2;
  62.     DPSBinObjGeneric obj3;
  63.     DPSBinObjGeneric obj4;
  64.     DPSBinObjGeneric obj5;
  65.     DPSBinObjGeneric obj6;
  66.     DPSBinObjGeneric obj7;
  67.     DPSBinObjGeneric obj8;
  68.     DPSBinObjGeneric obj9;
  69.     DPSBinObjGeneric obj10;
  70.     DPSBinObjGeneric obj11;
  71.     DPSBinObjGeneric obj12;
  72.     DPSBinObjGeneric obj13;
  73.     DPSBinObjGeneric obj14;
  74.     DPSBinObjGeneric obj15;
  75.     DPSBinObjGeneric obj16;
  76.     DPSBinObjGeneric obj17;
  77.     DPSBinObjGeneric obj18;
  78.     DPSBinObjGeneric obj19;
  79.     DPSBinObjGeneric obj20;
  80.     DPSBinObjGeneric obj21;
  81.     DPSBinObjGeneric obj22;
  82.     DPSBinObjGeneric obj23;
  83.     DPSBinObjGeneric obj24;
  84.     DPSBinObjGeneric obj25;
  85.     DPSBinObjGeneric obj26;
  86.     DPSBinObjGeneric obj27;
  87.     DPSBinObjGeneric obj28;
  88.     DPSBinObjGeneric obj29;
  89.     DPSBinObjGeneric obj30;
  90.     DPSBinObjGeneric obj31;
  91.     DPSBinObjGeneric obj32;
  92.     DPSBinObjGeneric obj33;
  93.     DPSBinObjGeneric obj34;
  94.     DPSBinObjGeneric obj35;
  95.     DPSBinObjGeneric obj36;
  96.     DPSBinObjGeneric obj37;
  97.     DPSBinObjGeneric obj38;
  98.     DPSBinObjGeneric obj39;
  99.     DPSBinObjGeneric obj40;
  100.     DPSBinObjGeneric obj41;
  101.     DPSBinObjGeneric obj42;
  102.     DPSBinObjGeneric obj43;
  103.     } _dpsQ;
  104.   static const _dpsQ _dpsStat = {
  105.     DPS_DEF_TOKENTYPE, 34, 356,
  106.     {DPS_LITERAL|DPS_NAME, 0, 0, 0},    /* EPSFsave */
  107.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 138},    /* save */
  108.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},    /* def */
  109.     {DPS_LITERAL|DPS_NAME, 0, 0, 0},    /* EPSFcountdict */
  110.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 271},    /* countdictstack */
  111.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},    /* def */
  112.     {DPS_LITERAL|DPS_NAME, 0, 0, 0},    /* EPSFcount */
  113.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 26},    /* count */
  114.     {DPS_LITERAL|DPS_INT, 0, 0, 1},
  115.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 169},    /* sub */
  116.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},    /* def */
  117.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 182},    /* userdict */
  118.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 13},    /* begin */
  119.     {DPS_LITERAL|DPS_NAME, 0, DPSSYSNAME, 161},    /* showpage */
  120.     {DPS_EXEC|DPS_ARRAY, 0, 0, 352},
  121.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},    /* def */
  122.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  123.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 150},    /* setgray */
  124.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  125.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 153},    /* setlinecap */
  126.     {DPS_LITERAL|DPS_INT, 0, 0, 1},
  127.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 155},    /* setlinewidth */
  128.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  129.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 154},    /* setlinejoin */
  130.     {DPS_LITERAL|DPS_INT, 0, 0, 10},
  131.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 346},    /* setmiterlimit */
  132.     {DPS_LITERAL|DPS_ARRAY, 0, 0, 352},
  133.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  134.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 148},    /* setdash */
  135.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 111},    /* newpath */
  136.     {DPS_LITERAL|DPS_NAME, 0, 0, 0},    /* languagelevel */
  137.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 186},    /* where */
  138.     {DPS_EXEC|DPS_ARRAY, 0, 6, 272},
  139.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 84},    /* if */
  140.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 117},    /* pop */
  141.     {DPS_EXEC|DPS_NAME, 0, 0, 0},    /* languagelevel */
  142.     {DPS_LITERAL|DPS_INT, 0, 0, 1},
  143.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 109},    /* ne */
  144.     {DPS_EXEC|DPS_ARRAY, 0, 4, 320},
  145.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 84},    /* if */
  146.     {DPS_LITERAL|DPS_BOOL, 0, 0, 0},
  147.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 350},    /* setstrokeadjust */
  148.     {DPS_LITERAL|DPS_BOOL, 0, 0, 0},
  149.     {DPS_EXEC|DPS_NAME, 0, 0, 0},    /* setoverprint */
  150.     }; /* _dpsQ */
  151.   _dpsQ _dpsF;    /* local copy  */
  152.   register DPSContext _dpsCurCtxt = DPSPrivCurrentContext();
  153.   register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0;
  154.   static long int _dpsCodes[6] = {-1};
  155.   {
  156. if (_dpsCodes[0] < 0) {
  157.     static const char * const _dps_names[] = {
  158.     "EPSFsave",
  159.     "EPSFcountdict",
  160.     "EPSFcount",
  161.     "languagelevel",
  162.     (char *) 0 ,
  163.     "setoverprint"};
  164.     long int *_dps_nameVals[6];
  165.     _dps_nameVals[0] = &_dpsCodes[0];
  166.     _dps_nameVals[1] = &_dpsCodes[1];
  167.     _dps_nameVals[2] = &_dpsCodes[2];
  168.     _dps_nameVals[3] = &_dpsCodes[3];
  169.     _dps_nameVals[4] = &_dpsCodes[4];
  170.     _dps_nameVals[5] = &_dpsCodes[5];
  171.  
  172.     DPSMapNames(_dpsCurCtxt, 6, _dps_names, _dps_nameVals);
  173.     }
  174.   }
  175.  
  176.   _dpsF = _dpsStat;    /* assign automatic variable */
  177.  
  178.   _dpsP[0].val.nameVal = _dpsCodes[0];
  179.   _dpsP[3].val.nameVal = _dpsCodes[1];
  180.   _dpsP[6].val.nameVal = _dpsCodes[2];
  181.   _dpsP[30].val.nameVal = _dpsCodes[3];
  182.   _dpsP[35].val.nameVal = _dpsCodes[4];
  183.   _dpsP[43].val.nameVal = _dpsCodes[5];
  184.   DPSBinObjSeqWrite(_dpsCurCtxt,(char *) &_dpsF,356);
  185. }
  186. #line 58 "epsfwraps.psw"
  187.  
  188.  
  189. /*  Resets the state after inclusion. */
  190. #line 191 "epsfwraps.c"
  191. void PSWEndEpsf( void )
  192. {
  193.   typedef struct {
  194.     unsigned char tokenType;
  195.     unsigned char topLevelCount;
  196.     unsigned short nBytes;
  197.  
  198.     DPSBinObjGeneric obj0;
  199.     DPSBinObjGeneric obj1;
  200.     DPSBinObjGeneric obj2;
  201.     DPSBinObjGeneric obj3;
  202.     DPSBinObjGeneric obj4;
  203.     DPSBinObjGeneric obj5;
  204.     DPSBinObjGeneric obj6;
  205.     DPSBinObjGeneric obj7;
  206.     DPSBinObjGeneric obj8;
  207.     DPSBinObjGeneric obj9;
  208.     DPSBinObjGeneric obj10;
  209.     DPSBinObjGeneric obj11;
  210.     DPSBinObjGeneric obj12;
  211.     DPSBinObjGeneric obj13;
  212.     } _dpsQ;
  213.   static const _dpsQ _dpsStat = {
  214.     DPS_DEF_TOKENTYPE, 12, 116,
  215.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 26},    /* count */
  216.     {DPS_EXEC|DPS_NAME, 0, 0, 0},    /* EPSFcount */
  217.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 169},    /* sub */
  218.     {DPS_EXEC|DPS_ARRAY, 0, 1, 104},
  219.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 131},    /* repeat */
  220.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 271},    /* countdictstack */
  221.     {DPS_EXEC|DPS_NAME, 0, 0, 0},    /* EPSFcountdict */
  222.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 169},    /* sub */
  223.     {DPS_EXEC|DPS_ARRAY, 0, 1, 96},
  224.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 131},    /* repeat */
  225.     {DPS_EXEC|DPS_NAME, 0, 0, 0},    /* EPSFsave */
  226.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 132},    /* restore */
  227.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 57},    /* end */
  228.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 117},    /* pop */
  229.     }; /* _dpsQ */
  230.   _dpsQ _dpsF;    /* local copy  */
  231.   register DPSContext _dpsCurCtxt = DPSPrivCurrentContext();
  232.   register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0;
  233.   static long int _dpsCodes[3] = {-1};
  234.   {
  235. if (_dpsCodes[0] < 0) {
  236.     static const char * const _dps_names[] = {
  237.     "EPSFcount",
  238.     "EPSFcountdict",
  239.     "EPSFsave"};
  240.     long int *_dps_nameVals[3];
  241.     _dps_nameVals[0] = &_dpsCodes[0];
  242.     _dps_nameVals[1] = &_dpsCodes[1];
  243.     _dps_nameVals[2] = &_dpsCodes[2];
  244.  
  245.     DPSMapNames(_dpsCurCtxt, 3, _dps_names, _dps_nameVals);
  246.     }
  247.   }
  248.  
  249.   _dpsF = _dpsStat;    /* assign automatic variable */
  250.  
  251.   _dpsP[1].val.nameVal = _dpsCodes[0];
  252.   _dpsP[6].val.nameVal = _dpsCodes[1];
  253.   _dpsP[10].val.nameVal = _dpsCodes[2];
  254.   DPSBinObjSeqWrite(_dpsCurCtxt,(char *) &_dpsF,116);
  255. }
  256. #line 65 "epsfwraps.psw"
  257.  
  258.  
  259. /*
  260. *    Positions the Epsf file within the document. The first four
  261. *    floats are the origin and size within the document. The next
  262. *    four are the original origin and size. The Angle is the 
  263. *    amount of rotation in degrees.
  264. */
  265. #line 266 "epsfwraps.c"
  266. void PSWSetEpsf(float OriginX, float OriginY, float Width, float Height, float OrigOriginX, float OrigOriginY, float OrigWidth, float OrigHeight, float Angle)
  267. {
  268.   typedef struct {
  269.     unsigned char tokenType;
  270.     unsigned char topLevelCount;
  271.     unsigned short nBytes;
  272.  
  273.     DPSBinObjReal obj0;
  274.     DPSBinObjReal obj1;
  275.     DPSBinObjGeneric obj2;
  276.     DPSBinObjReal obj3;
  277.     DPSBinObjGeneric obj4;
  278.     DPSBinObjReal obj5;
  279.     DPSBinObjReal obj6;
  280.     DPSBinObjGeneric obj7;
  281.     DPSBinObjReal obj8;
  282.     DPSBinObjReal obj9;
  283.     DPSBinObjGeneric obj10;
  284.     DPSBinObjGeneric obj11;
  285.     DPSBinObjReal obj12;
  286.     DPSBinObjGeneric obj13;
  287.     DPSBinObjReal obj14;
  288.     DPSBinObjGeneric obj15;
  289.     DPSBinObjGeneric obj16;
  290.     DPSBinObjReal obj17;
  291.     DPSBinObjReal obj18;
  292.     DPSBinObjReal obj19;
  293.     DPSBinObjReal obj20;
  294.     DPSBinObjGeneric obj21;
  295.     } _dpsQ;
  296.   static const _dpsQ _dpsStat = {
  297.     DPS_DEF_TOKENTYPE, 22, 180,
  298.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: OriginX */
  299.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: OriginY */
  300.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 173},    /* translate */
  301.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: Angle */
  302.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 136},    /* rotate */
  303.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: Width */
  304.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: OrigWidth */
  305.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 54},    /* div */
  306.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: Height */
  307.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: OrigHeight */
  308.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 54},    /* div */
  309.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 139},    /* scale */
  310.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: OrigOriginX */
  311.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 110},    /* neg */
  312.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: OrigOriginY */
  313.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 110},    /* neg */
  314.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 173},    /* translate */
  315.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: OrigOriginX */
  316.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: OrigOriginY */
  317.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: OrigWidth */
  318.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: OrigHeight */
  319.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 127},    /* rectclip */
  320.     }; /* _dpsQ */
  321.   _dpsQ _dpsF;    /* local copy  */
  322.   register DPSContext _dpsCurCtxt = DPSPrivCurrentContext();
  323.   register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0;
  324.   _dpsF = _dpsStat;    /* assign automatic variable */
  325.  
  326.   _dpsP[0].val.realVal = OriginX;
  327.   _dpsP[1].val.realVal = OriginY;
  328.   _dpsP[5].val.realVal = Width;
  329.   _dpsP[8].val.realVal = Height;
  330.   _dpsP[12].val.realVal =
  331.   _dpsP[17].val.realVal = OrigOriginX;
  332.   _dpsP[14].val.realVal =
  333.   _dpsP[18].val.realVal = OrigOriginY;
  334.   _dpsP[6].val.realVal =
  335.   _dpsP[19].val.realVal = OrigWidth;
  336.   _dpsP[9].val.realVal =
  337.   _dpsP[20].val.realVal = OrigHeight;
  338.   _dpsP[3].val.realVal = Angle;
  339.   DPSBinObjSeqWrite(_dpsCurCtxt,(char *) &_dpsF,180);
  340. }
  341. #line 80 "epsfwraps.psw"
  342.  
  343.  
  344.  
  345.